Computer systems with graphics displays are commonly used for many applications such as computer-aided design, computerized axial tomography (CAT) scanning, and physiological monitoring. The display of graphic images generally requires a special set of command instructions to create and display the graphic image. Special instructions are also required to manipulate the graphic image or to erase the image. These special graphics display systems are uniquely tailored for the specific resolution of the graphics display screen connected to the system.
The graphics display screen is made up of a large number of video dots, called pixels, that are arranged in a series of horizontal rows and vertical columns. The pixels form a grid on the graphics display screen. The grid is usually defined by X and Y coordinates that identify the location of each pixel. There are several "standard" video display sizes. For example, a color graphics adapter (CGA) screen has 640 horizontal pixels and 200 vertical pixels. Other display screens have 640.times.350 pixels (EGA) or 640.times.480 pixels (VGA). Still other video display sizes may be specially designed for particular applications.
Each pixel is generally a single storage bit in the graphics display memory. Thus, the pixel is either fully on or fully off. However, there are other options for controlling the appearance of a graphics display. For example, there may be color control bits and intensity control bits associated with each pixel, allowing the system to control the color and intensity of each pixel on the graphics display screen. For example, if there are eight color control bits associated with each pixel, the system can create up to 256 shades of color for each pixel. Similarly, if there are eight intensity control bits for each pixel, the system can create up to 256 intensity levels for each pixel. Each additional graphic option requires additional memory. While the most simple of graphic memories needs only a single data bit for each pixel, a system with color and intensity options may require sixteen bits for each pixel (eight color control bits and eight intensity control bits).
A typical graphics application 10 is shown in FIG. 1 where a patient physiological monitor contains three patient data module processors 12, all connected to a single host processor 14, which is in turn connected to a graphics display unit 16. Each patient data module is allocated a space on the graphics display, and is free to use that space in a manner dictated by the function of the particular module. For example, FIG. 2A depicts the graphics display of a typical electrocardiogram data module, which has been allocated a graphics display space of 63 vertical pixels and 560 horizontal pixels. Each module is designed to operate with a graphics display of a particular resolution and is closely coupled to the parameters of the particular graphics display resolution.
If a data module designed for use with a low resolution graphics display (e.g. 63.times.560 pixels) is used with a graphics display having greater resolution (e.g. 252.times.2240 pixels) without any modification of the module, the graphics image will be unacceptably small and unreadable. In the example given, the graphics image would shrink by 75%. Therefore, switching to a new graphics display with a different resolution requires significant changes in the graphics commands.
One solution to the problem of a small unreadable graphics display is to scale the graphics image from one resolution to another. If the same patient data module of FIG. 2A is used on a graphics display with a different resolution, as shown in FIG. 2B, the data module now has an allocated display space of 100 vertical pixels and 700 horizontal pixels. As can be readily seen, the new horizontal resolution will not be an integer multiple of the old resolution, but will be 1.25 times the old resolution. Similarly, the new vertical resolution is 1.587 times the old resolution.
Because scaling a graphic image would require non-integer scaling, the systems of the prior art cannot easily map the pixel values of the old display resolution into the pixel values of the new display resolution. Thus, scaling is not a simple solution to the problem of altering the resolution of a graphics display.
Consequently, the systems that drive the graphics display must be totally rewritten. This is a costly process and does not allow old data modules to function compatibly with the new graphics display units.
Therefore, it can be appreciated that there is a significant need for a system that can decouple graphics commands from the constraints of a specific graphics display resolution.